package org.jeecg.modules.demo.erp.DepotHead.entity;

import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableLogic;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * @Description: jsh_depot_head
 * @Author: jeecg-boot
 * @Date:   2024-07-28
 * @Version: V1.0
 */
@Data
@TableName("jsh_depot_head")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="jsh_depot_head对象", description="jsh_depot_head")
public class JshDepotHead implements Serializable {
    private static final long serialVersionUID = 1L;

	/**主键*/
	@TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "主键")
    private java.lang.Integer id;
	/**类型(出库/入库)*/
	@Excel(name = "类型(出库/入库)", width = 15)
    @ApiModelProperty(value = "类型(出库/入库)")
    private java.lang.String type;
	/**出入库分类*/
	@Excel(name = "出入库分类", width = 15)
    @ApiModelProperty(value = "出入库分类")
    private java.lang.String subType;
	/**初始票据号*/
	@Excel(name = "初始票据号", width = 15)
    @ApiModelProperty(value = "初始票据号")
    private java.lang.String defaultNumber;
	/**票据号*/
	@Excel(name = "票据号", width = 15)
    @ApiModelProperty(value = "票据号")
    private java.lang.String number;
	/**创建时间*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "创建时间")
    private java.util.Date createTime;
	/**出入库时间*/
	@Excel(name = "出入库时间", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "出入库时间")
    private java.util.Date operTime;
	/**供应商id*/
	@Excel(name = "供应商id", width = 15)
    @ApiModelProperty(value = "供应商id")
    private java.lang.Integer organId;
	/**操作员*/
	@Excel(name = "操作员", width = 15)
    @ApiModelProperty(value = "操作员")
    private java.lang.Integer creator;
	/**账户id*/
	@Excel(name = "账户id", width = 15)
    @ApiModelProperty(value = "账户id")
    private java.lang.Integer accountId;
	/**变动金额(收款/付款)*/
	@Excel(name = "变动金额(收款/付款)", width = 15)
    @ApiModelProperty(value = "变动金额(收款/付款)")
    private java.math.BigDecimal changeAmount;
	/**找零金额*/
	@Excel(name = "找零金额", width = 15)
    @ApiModelProperty(value = "找零金额")
    private java.math.BigDecimal backAmount;
	/**合计金额*/
	@Excel(name = "合计金额", width = 15)
    @ApiModelProperty(value = "合计金额")
    private java.math.BigDecimal totalPrice;
	/**付款类型(现金、记账等)*/
	@Excel(name = "付款类型(现金、记账等)", width = 15)
    @ApiModelProperty(value = "付款类型(现金、记账等)")
    private java.lang.String payType;
	/**单据类型*/
	@Excel(name = "单据类型", width = 15)
    @ApiModelProperty(value = "单据类型")
    private java.lang.String billType;
	/**备注*/
	@Excel(name = "备注", width = 15)
    @ApiModelProperty(value = "备注")
    private java.lang.String remark;
	/**附件名称*/
	@Excel(name = "附件名称", width = 15)
    @ApiModelProperty(value = "附件名称")
    private java.lang.String fileName;
	/**销售员（可以多个）*/
	@Excel(name = "销售员（可以多个）", width = 15)
    @ApiModelProperty(value = "销售员（可以多个）")
    private java.lang.String salesMan;
	/**多账户ID列表*/
	@Excel(name = "多账户ID列表", width = 15)
    @ApiModelProperty(value = "多账户ID列表")
    private java.lang.String accountIdList;
	/**多账户金额列表*/
	@Excel(name = "多账户金额列表", width = 15)
    @ApiModelProperty(value = "多账户金额列表")
    private java.lang.String accountMoneyList;
	/**优惠率*/
	@Excel(name = "优惠率", width = 15)
    @ApiModelProperty(value = "优惠率")
    private java.math.BigDecimal discount;
	/**优惠金额*/
	@Excel(name = "优惠金额", width = 15)
    @ApiModelProperty(value = "优惠金额")
    private java.math.BigDecimal discountMoney;
	/**优惠后金额*/
	@Excel(name = "优惠后金额", width = 15)
    @ApiModelProperty(value = "优惠后金额")
    private java.math.BigDecimal discountLastMoney;
	/**销售或采购费用合计*/
	@Excel(name = "销售或采购费用合计", width = 15)
    @ApiModelProperty(value = "销售或采购费用合计")
    private java.math.BigDecimal otherMoney;
	/**订金*/
	@Excel(name = "订金", width = 15)
    @ApiModelProperty(value = "订金")
    private java.math.BigDecimal deposit;
	/**状态，0未审核、1已审核、2完成采购|销售、3部分采购|销售、9审核中*/
	@Excel(name = "状态，0未审核、1已审核、2完成采购|销售、3部分采购|销售、9审核中", width = 15)
    @ApiModelProperty(value = "状态，0未审核、1已审核、2完成采购|销售、3部分采购|销售、9审核中")
    private java.lang.String status;
	/**采购状态，0未采购、2完成采购、3部分采购*/
	@Excel(name = "采购状态，0未采购、2完成采购、3部分采购", width = 15)
    @ApiModelProperty(value = "采购状态，0未采购、2完成采购、3部分采购")
    private java.lang.String purchaseStatus;
	/**单据来源，0-pc，1-手机*/
	@Excel(name = "单据来源，0-pc，1-手机", width = 15)
    @ApiModelProperty(value = "单据来源，0-pc，1-手机")
    private java.lang.String source;
	/**关联订单号*/
	@Excel(name = "关联订单号", width = 15)
    @ApiModelProperty(value = "关联订单号")
    private java.lang.String linkNumber;
	/**关联请购单*/
	@Excel(name = "关联请购单", width = 15)
    @ApiModelProperty(value = "关联请购单")
    private java.lang.String linkApply;
	/**租户id*/
	@Excel(name = "租户id", width = 15)
    @ApiModelProperty(value = "租户id")
    private java.lang.Integer tenantId;
	/**删除标记，0未删除，1删除*/
	@Excel(name = "删除标记，0未删除，1删除", width = 15)
    @ApiModelProperty(value = "删除标记，0未删除，1删除")
    private java.lang.String deleteFlag;
}
